#include <stdio.h>
#include <stddef.h>
// #define A 2+2
// #define B 3+3
// #define C A*B
// int main()
// {
// 	printf("%d\n", C);
//   return 0;
// }

// 写一个宏，计算结构体中某变量相对于首地址的偏移，并给出说明
// 考察：offsetof宏的实现
// #define my_offsetof(p1,p2) p2-p1
// typedef struct S
// {
//   int a;
//   int b;
//   char c;   
// }S;
// int main()
// {
//   int ret1 = my_offsetof(&S,&s.a);
//   int ret2 = my_offsetof(&S,&s.b);
//   int ret3 = my_offsetof(&S,&s.c);
//   printf("%d %d %d",ret1,ret2,ret3);
//   return 0;
// }
//写一个宏，可以将一个整数的二进制位的奇数位和偶数位交换。
#define my_switch(int* p) \
for(i = 1;i < 2*sizeof(int);i++)\
{\
  if(i%2!=0)/
  {/
    //把奇数位存起来
  }/
  else/
  {/
       /  //把偶数位存起来
  }/
}/
//交换
int main()
{
  int a = 0x11223344;
  my_switch(&a);
  return 0;
}